package com.yyq.adms.sysmanage.pojo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.yyq.sos.pojo.BackBaseEntity;



/**
 * @author snepajj
 * 对应数据库表: ss_sys_modules
 * 功能: 系统模块 待久化类
**/
@Entity
@Table(name = "ss_sys_modules")
public class SysModules  extends BackBaseEntity  implements java.io.Serializable
{
	private static final long serialVersionUID = -588629968341005300L;

	
	//对应数据库字段为: module_name
	private String moduleName;
	
	//对应数据库字段为: module_cname
	private String moduleCname;
	
	//对应数据库字段为: module_url
	private String moduleUrl;
	
	//对应数据库字段为: module_fun
	private String moduleFun;
	
	//对应数据库字段为: module_level
	private String moduleLevel;
	
	private String moduleClass;
	
	//对应数据库字段为: parent_id
	private Long parentId;
	
	//对应数据库字段为: remark
	private String remark;
	
	//对应数据库字段为: is_menu
	private Long isMenu;
	
	//对应数据库字段为: sts
	private String sts;
	
	//对应数据库字段为: sts_time
	private Date stsTime;
	
	//对应数据库字段为: create_time
	private Date createTime;
	
	/**
	 * 对应数据库字段为: module_name
	**/
	@Column(name = "module_name")
	public String getModuleName()
	{
		return moduleName;
	}
	
	/**
	 * 对应数据库字段为: module_name
	**/
	public void setModuleName(String moduleName)
	{
		this.moduleName = moduleName;
	}
	
	
	/**
	 * 对应数据库字段为: module_cname
	**/
	@Column(name = "module_cname")
	public String getModuleCname()
	{
		return moduleCname;
	}
	
	/**
	 * 对应数据库字段为: module_cname
	**/
	public void setModuleCname(String moduleCname)
	{
		this.moduleCname = moduleCname;
	}
	
	
	/**
	 * 对应数据库字段为: module_url
	**/
	@Column(name = "module_url")
	public String getModuleUrl()
	{
		return moduleUrl;
	}
	
	/**
	 * 对应数据库字段为: module_url
	**/
	public void setModuleUrl(String moduleUrl)
	{
		this.moduleUrl = moduleUrl;
	}
	
	
	/**
	 * 对应数据库字段为: module_fun
	**/
	@Column(name = "module_fun")
	public String getModuleFun()
	{
		return moduleFun;
	}
	
	/**
	 * 对应数据库字段为: module_fun
	**/
	public void setModuleFun(String moduleFun)
	{
		this.moduleFun = moduleFun;
	}
	
	
	/**
	 * 对应数据库字段为: module_level
	**/
	@Column(name = "module_level")
	public String getModuleLevel()
	{
		return moduleLevel;
	}
	
	/**
	 * 对应数据库字段为: module_level
	**/
	public void setModuleLevel(String moduleLevel)
	{
		this.moduleLevel = moduleLevel;
	}
	
	
	/**
	 * 对应数据库字段为: parent_id
	**/
	@Column(name = "parent_id")
	public Long getParentId()
	{
		return parentId;
	}
	
	/**
	 * 对应数据库字段为: parent_id
	**/
	public void setParentId(Long parentId)
	{
		this.parentId = parentId;
	}
	
	
	/**
	 * 对应数据库字段为: remark
	**/
	@Column(name = "remark")
	public String getRemark()
	{
		return remark;
	}
	
	/**
	 * 对应数据库字段为: remark
	**/
	public void setRemark(String remark)
	{
		this.remark = remark;
	}

	@Column(name = "is_menu")
	public Long getIsMenu() 
	{
		return isMenu;
	}

	public void setIsMenu(Long isMenu) 
	{
		this.isMenu = isMenu;
	}

	/**
	 * 对应数据库字段为: sts
	**/
	@Column(name = "sts")
	public String getSts()
	{
		return sts;
	}
	
	/**
	 * 对应数据库字段为: sts
	**/
	public void setSts(String sts)
	{
		this.sts = sts;
	}
	
	
	/**
	 * 对应数据库字段为: sts_time
	**/
	@Column(name = "sts_time")
	public Date getStsTime()
	{
		return stsTime;
	}
	
	/**
	 * 对应数据库字段为: sts_time
	**/
	public void setStsTime(Date stsTime)
	{
		this.stsTime = stsTime;
	}
	
	
	/**
	 * 对应数据库字段为: create_time
	**/
	@Column(name = "create_time")
	public Date getCreateTime()
	{
		return createTime;
	}
	
	/**
	 * 对应数据库字段为: create_time
	**/
	public void setCreateTime(Date createTime)
	{
		this.createTime = createTime;
	}

	@Column(name = "module_class")
	public String getModuleClass() {
		return moduleClass;
	}

	public void setModuleClass(String moduleClass) {
		this.moduleClass = moduleClass;
	}

	public String toString() {
		StringBuffer str = new StringBuffer();
		str.append("模块ID="+ this.id);
		str.append("；模块名称="+ this.moduleName);
		str.append("；模块中文名称="+ this.moduleCname);
		str.append("；模块对应Class="+ this.moduleClass);
		str.append("；模块URL地址="+ this.moduleUrl);
		str.append("；模块层次="+ this.moduleLevel);
		str.append("；模块父ID="+ this.parentId);
		str.append("；模块JS="+ this.moduleFun);
		str.append("；备注="+ this.remark);
		str.append("；状态="+ this.sts);
		str.append("；是否作为菜单="+ this.isMenu);
		str.append("；状态时间="+ this.stsTime);
		str.append("；记录创建时间="+ this.createTime);
		return str.toString();
	}

	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((createTime == null) ? 0 : createTime.hashCode());
		result = prime * result + ((isMenu == null) ? 0 : isMenu.hashCode());
		result = prime * result
				+ ((moduleClass == null) ? 0 : moduleClass.hashCode());
		result = prime * result
				+ ((moduleCname == null) ? 0 : moduleCname.hashCode());
		result = prime * result
				+ ((moduleFun == null) ? 0 : moduleFun.hashCode());
		result = prime * result
				+ ((getId() == null) ? 0 : getId().hashCode());
		result = prime * result
				+ ((moduleLevel == null) ? 0 : moduleLevel.hashCode());
		result = prime * result
				+ ((moduleName == null) ? 0 : moduleName.hashCode());
		result = prime * result
				+ ((moduleUrl == null) ? 0 : moduleUrl.hashCode());
		result = prime * result
				+ ((parentId == null) ? 0 : parentId.hashCode());
		result = prime * result + ((remark == null) ? 0 : remark.hashCode());
		result = prime * result + ((sts == null) ? 0 : sts.hashCode());
		result = prime * result + ((stsTime == null) ? 0 : stsTime.hashCode());
		return result;
	}
}